using System;
using System.Collections.Generic;
using System.Text;
using DCRF.Common.Core;
using DCRF.Common.Definition;

namespace DCRF.Common.Primitive
{
    /// <summary>
    /// TODO: remove this class
    /// This class contains information about a block (Version, identifier, friendlyname, ...) which are provided by
    /// Block implementation
    /// </summary>
    [Serializable]
    public class BlockInfo
    {
        /// <summary>
        /// A handle which identifies this Block uniquely
        /// </summary>
        //public CID BlockID;

        //public PlatformType Platform = PlatformType.Neutral;

        //public BlockType Type = BlockType.MultipleInstance;

        /// <summary>
        /// This is a friendly name which is not used by DCRF
        /// </summary>
        //public string FriendlyName;

        /// <summary>
        /// this is not used by DCRF. shows the company/person who is creator of this Block.
        /// </summary>
        //public string Company;

        /// <summary>
        /// The release date of this Block. for information purposes only
        /// </summary>
        //public DateTime ReleaseDate;

        /// <summary>
        /// Some comments about this Block - is not used by DCRF
        /// </summary>
        //public string Comments;

        /// <summary>
        /// A comma separated list of tags that identify this Block as a member of a group of Blocks.
        /// For example a web Block plugins all have unique CIDs but they all have a "WPlugin" tag so 
        /// any block can query BlockWeb to return a list of Blocks that have this tag
        /// </summary>
        //public List<string> Tags = new List<string>();

        public BlockInfo()
        {
            //BlockID = new CID();
        }

        public void InitFrom(BlockInfo inf)
        {
            //FriendlyName = inf.FriendlyName; 
            //Company = inf.Company;            
            //ReleaseDate = inf.ReleaseDate;
            //Comments = inf.Comments;
            //Tags = inf.Tags;

            //BlockID.InitFrom(inf.BlockID);
        }
    }
}
